As cellular phones have become more commonplace and powerful, the desire for certain applications to provide location-based functionality on these phones has increased. In order to provide such location-based functionality, the position of the phone needs to be known at any time in any environment. The position of a phone can sometimes be determined based on coordinates received from a global positioning system (GPS) of the phone. However, it remains difficult to determine the position of a phone under certain circumstances, such as when the GPS of the phone is not able to determine an accurate position of the phone, or when the phone does not include GPS functionality.